home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Disksavers / FastDisk / FastDisk.doc < prev    next >
Text File  |  1996-09-26  |  18KB  |  529 lines

  1.  
  2.      FastDisk(1)           AMIGA Programmer's Manual            FastDisk(1)
  3.  
  4.  
  5.  
  6.      ›1mNAME 
  7.  
  8.           ›0mFastDisk - Disk-Optimizer/Copier 
  9.  
  10.      ›1mSYNOPSIS 
  11.  
  12.           FastDisk ›0m[ [FROM] <device> ] [ [TO] <device> ] 
  13.                    [ FORMAT | NOFORMAT ] [ VERIFY | NOVERIFY ] 
  14.                    [ [FILESYSTEM] FFS | SFS | SRC | DEV ] 
  15.                    [ [BUFFERMODE] HUMBLE | FAIR | GREEDY | IGNORANT ] 
  16.                    [ [DISPLAY] CLI | WINDOW ] 
  17.  
  18.      ›1mDEFAULTS 
  19.  
  20.           FastDisk ›0mDF0: TO DF1: FORMAT NOVERIFY DEV GREEDY WINDOW 
  21.  
  22.      ›1mOVERVIEW 
  23.  
  24.           FastDisk  ›0mis  a  high-performance disk optimizing tool which
  25.           decreases access time for files and directories.    This  is
  26.           achieved by creating a disk with an optimized sector layout,
  27.           including  linear  directory  layout,  .info  and small file
  28.           precedence and minimized track-boundary  crossing  for  data
  29.           blocks.  
  30.  
  31.           ›1mFastDisk  ›0mwill  work  with  any  ›4mAmigaDOS›0m device of any size
  32.           provided   that   the   underlying   Exec-device    supports
  33.           trackdisk.device    commands    (i.e.   all   block-oriented
  34.           Exec-devices).  
  35.  
  36.           ›1mFastDisk ›0msupports blocksizes other than 512 Byte.  
  37.  
  38.           ›1mFastDisk ›0msupports the standard ›4mAmigaDOS›0m filesystem, the fast
  39.           filing   system   and   automatic   or   forced   filesystem
  40.           conversion.  
  41.  
  42.           ›1mFastDisk  ›0mperforms  intelligent  block pre-caching, reducing
  43.           execution time to that of a standard ›4mDiskCopy›0m or less.  
  44.  
  45.           ›1mFastDisk ›0mhas four different modes of operation, ranging from
  46.           a minimum memory mode  without  block  caching  to  reckless
  47.           memory eating for maximum performance.  
  48.  
  49.           ›1mFastDisk  ›0mis  able  to  detect  low-memory  situations  (via
  50.           ›3mASDG-LowMem.library ›0m) and will release  allocated  non-vital
  51.           memory if these occur.  
  52.  
  53.           ›1mFastDisk  ›0mhas  a  nice  intuition-interface, but can also be
  54.           used in a CLI-only mode and can take its parameters from the
  55.           commandline,  WorkBench-Tooltypes,  Manx   environment   and
  56.           Commodore ENV: environment.  
  57.  
  58.           ›1mFastDisk  ›0mruns  under  KickStart 1.2 / 1.3 and 2.0 and needs
  59.           the ›3marp.library(V.39+) ›0mto run.  The  ›3mASDG-LowMem.library  ›0mis
  60.           recommended for full functionality but not mandatory.  
  61.  
  62.  
  63.  
  64.  
  65.      Torsten Stolpmann                -1-                       Version 1.9
  66.  
  67.  
  68.      FastDisk(1)           AMIGA Programmer's Manual            FastDisk(1)
  69.  
  70.  
  71.      ›1mDESCRIPTION 
  72.  
  73.           FastDisk  ›0mcan  be  started from either ›4mWorkBench›0m or ›4mCLI›0m. The
  74.           following ›4mCLI›0m parameters are possible: 
  75.  
  76.        ›1mFROM ›0m<›1mdevice›0m> 
  77.  
  78.           Using the ›1mFROM ›0mparameter you may specify the  source  device
  79.           which  contains  the  ›4mAmigaDOS›0m  volume you want to optimize.
  80.           The ':' character must be included for the device name to be
  81.           recognized.   The  ›1mFROM  ›0mkeyword  is  optional  and  may  be
  82.           omitted.  
  83.           Default source device is ›4mDF0›0m:. 
  84.  
  85.        ›1mTO ›0m<›1mdevice›0m> 
  86.  
  87.           Using  the  ›1mTO  ›0mparameter  you  may  specify the destination
  88.           device which contains the disk to be  overwritten  with  the
  89.           contents of the source disk.  The ›1mTO ›0mkeyword is optional and
  90.           can  be  omitted  unless you want to specify the destination
  91.           device before  the  source  device,  in  which  case  it  is
  92.           mandatory.   The  ':'  character  must  be  included for the
  93.           device name to be recognized.  
  94.           Default destination device is ›4mDF1›0m:. 
  95.           Please note that source and destination may  not  be  equal,
  96.           'on-disk' optimization will be covered in the next release.  
  97.  
  98.        ›1mFORMAT 
  99.  
  100.           ›0mThis   parameter   tells   ›1mFastDisk   ›0mto  format  the  whole
  101.           destination disk.  This is needed for unformatted disks  and
  102.           generally useful for every optimization because it wipes out
  103.           all  former  contents  of  the  destination  disk, which may
  104.           irritate disk-repair utilities such as ›4mDiskDoctor›0m or ›4mFixDisk›0m
  105.           (especially ›4mDiskDoctor›0m, it gets confused often).    This  is
  106.           the default option.  
  107.  
  108.        ›1mNOFORMAT 
  109.  
  110.           FastDisk  ›0mwill  only  write those tracks which contain data,
  111.           speeding   up   the    optimization    (with    the    above
  112.           disadvantages).   If  ›1mFastDisk ›0mdetects an unreadable disk in
  113.           the destination device this option is automatically switched
  114.           to ›1mFORMAT›0m. 
  115.  
  116.        ›1mVERIFY 
  117.  
  118.           ›0mThe  complete  destination  disk   will   be   scanned   for
  119.           read-errors after the optimization.  
  120.  
  121.        ›1mNOVERIFY 
  122.  
  123.           ›0mNo verification  of  the  destination  disk.    This  is the
  124.           default option.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.      Torsten Stolpmann                -2-                       Version 1.9
  132.  
  133.  
  134.      FastDisk(1)           AMIGA Programmer's Manual            FastDisk(1)
  135.  
  136.  
  137.        ›1mFILESYSTEM SFS 
  138.  
  139.           ›0mThe destination disk will be a standard file-system disk.  
  140.           The ›1mFILESYSTEM ›0mkeyword is optional.  
  141.  
  142.        ›1mFILESYSTEM FFS 
  143.  
  144.           ›0mThe destination disk will be a fast file-system disk.  
  145.           The ›1mFILESYSTEM ›0mkeyword is optional.  
  146.  
  147.        ›1mFILESYSTEM SRC 
  148.  
  149.           ›0mThe destination disk will have the same file-system type  as
  150.           the source disk.  
  151.           The ›1mFILESYSTEM ›0mkeyword is optional.  
  152.  
  153.        ›1mFILESYSTEM DEV 
  154.  
  155.           ›0mThe destination disk will have the file-system type which is
  156.           supplied  by the ›4mMountList›0m entry ›4mDosType›0m for the destination
  157.           device.  If this entry is not  present  (KickStart  1.3  and
  158.           earlier) default is the standard file-system.  
  159.           The ›1mFILESYSTEM ›0mkeyword is optional.  
  160.           This is the default option.  
  161.  
  162.        ›1mBUFFERMODE HUMBLE 
  163.  
  164.           ›0mIn  ›1mHUMBLE  ›0mmode  ›1mFastDisk ›0mwill allocate as little memory as
  165.           possible to do the optimization.  This of course leads to  a
  166.           cutdown   in   execution   speed,   due   to   the  lack  of
  167.           block-caching.  The advantage of this option is the constant
  168.           memory usage after initialization.    In  all  other  modes,
  169.           memory will be dynamically allocated when needed.  
  170.           The ›1mBUFFERMODE ›0mkeyword is optional.  
  171.  
  172.        ›1mBUFFERMODE FAIR 
  173.  
  174.           ›0mWith  this mode selected, all memory currently not used will
  175.           be returned to the system immediatly and block-caching  will
  176.           be turned on.  When receiving a notification of a Low-Memory
  177.           situation (via ›4mASDG›0m-›4mLowMem›0m.›4mlibrary›0m if installed) memory used
  178.           for  pre-cached  blocks will be given back and ›1mFastDisk ›0mwill
  179.           continue its operation in ›1mHUMBLE ›0mmode.  
  180.           The ›1mBUFFERMODE ›0mkeyword is optional.  
  181.  
  182.        ›1mBUFFERMODE GREEDY 
  183.  
  184.           ›0mUnused memory is cached to  avoid  subsequent  ›4mAllocMem›0m()  -
  185.           ›4mFreeMem›0m() calls.   ›1mFastDisk ›0mwill honor Low-Memory situations
  186.           by freeing non-vital memory, but  will  continue  in  ›1mGREEDY
  187.           ›0mmode.  
  188.           The ›1mBUFFERMODE  ›0mkeyword  is  optional.   This is the default
  189.           option.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.      Torsten Stolpmann                -3-                       Version 1.9
  198.  
  199.  
  200.      FastDisk(1)           AMIGA Programmer's Manual            FastDisk(1)
  201.  
  202.  
  203.        ›1mBUFFERMODE IGNORANT 
  204.  
  205.           FastDisk ›0mwill ignore all Low-Memory situations and will keep
  206.           all memory until completion.  ›1mFastDisk ›0mwill also  raise  its
  207.           Task-Priority to 1.  
  208.           The ›1mBUFFERMODE ›0mkeyword is optional.  
  209.  
  210.        ›1mDISPLAY CLI 
  211.  
  212.           ›0mWith this option ›1mFastDisk ›0mwill not open its Intuition-Window
  213.           and  will  use  the  CLI-Window it has been started from for
  214.           output.   All  neccessary  parameters  differing  from   the
  215.           default/environment settings must be provided in the command
  216.           line.  
  217.           ›1mFastDisk ›0mwill ask you to insert the source/destination disks
  218.           in the  appropriate  devices  and  to  press <RETURN>.  When
  219.           started non-interactive  (for  example  with  ›3mRun  FastDisk)
  220.           ›0m›1mFastDisk ›0mwill start immediatly, making it possible to use it
  221.           in a script or the startup-sequence.  
  222.           The ›1mDISPLAY ›0mkeyword is optional.  
  223.  
  224.        ›1mDISPLAY WINDOW 
  225.  
  226.           ›0mWith  this  option  ›1mFastDisk  ›0mwill open its Intuition-Window
  227.           where all of the above options can be selected via Gadgets.  
  228.           The ›1mDISPLAY ›0mkeyword is optional.  
  229.           This is the default option.  
  230.  
  231.           All the above parameters can be specified in the environment
  232.           variable    ›4mFASTDISKOPTS›0m    also    (for    example:     ›3mSet
  233.           FASTDISKOPTS="VERIFY   BUFFERMODE  FAIR")  ›0mto  override  the
  234.           default settings.  
  235.  
  236.           The   WorkBench-Tooltype   settings   are   of   the    form
  237.           ›3mKEYWORD=OPTION ›0mwhere ›3mKEYWORD ›0mis one of ›1mFROM›0m, ›1mTO›0m, ›1mFILESYSTEM›0m,
  238.           ›1mBUFFERMODE›0m,  ›1mFORMAT ›0mand ›1mVERIFY ›0mand ›3mOPTION ›0mone of the options
  239.           listed above (the valid options for ›1mFORMAT ›0mand ›1mVERIFY ›0mare ›1mON
  240.           ›0mor ›1mOFF ›0m).  When started from Workbench, ›1mFastDisk ›0mwill always
  241.           open its Intuition-Window.  
  242.  
  243.           CLI-Parameters and ToolTypes will override the  default  and
  244.           environment settings.  
  245.  
  246.           You can  use  ›1mFastDisk ›0mwith any combination of devices.  The
  247.           only condition that must be fulfilled is that  the  data  on
  248.           the source device must fit onto the destination device.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.      Torsten Stolpmann                -4-                       Version 1.9
  264.  
  265.  
  266.      FastDisk(1)           AMIGA Programmer's Manual            FastDisk(1)
  267.  
  268.  
  269.      ›1mTECHNICAL NOTES 
  270.  
  271.        ›0mMEMORY REQUIREMENTS 
  272.  
  273.           Every  effort  was  taken  to  make  memory-usage  as low as
  274.           possible while  retaining   maximum   performance.      Each
  275.           file/directory/link   on  the  source  disk  is  represented
  276.           internally by a 32-Byte structure  which  contains  all  the
  277.           necessary information.  This and a dynamic map of pre-cached
  278.           sectors   (only   for   non-humble   modes)   are  the  main
  279.           memory-sinks.  By comparison, additional  memory  allocation
  280.           is neglegible.    ›1mFastDisk  ›0mdoes not rely on large contigous
  281.           memory-areas like many other optimizers.  Using ›1mHUMBLE ›0mmode,
  282.           it is possible to optimize a 30 MB  Harddisk-Partition  with
  283.           512 KB  Amigas.  1 MB Memory should be sufficient for 130 MB
  284.           Partitions.  These are  rough  estimates,  as  memory  usage
  285.           mainly  depends  on  the number of files, not on the size of
  286.           the partition.  
  287.  
  288.        OPTIMIZATION METHODS 
  289.  
  290.           In this release I have tried to achieve the following  three
  291.           optimization-goals.  
  292.  
  293.           Goal 1: Fast directory listings 
  294.  
  295.           This  is  done  by  placing  all  file-headers  in  the same
  296.           physical order on the disk as read  by  the  filing  system,
  297.           including  the  ascending  sorting  of  hash-chains which is
  298.           required for the correct behaviour of the ExNext()  function
  299.           in KickStart  2.0.    In  addition these blocks are centered
  300.           around the  RootBlock.     Directory   blocks   are   placed
  301.           immediatly  after the root and bitmap blocks for fast access
  302.           to deeper nested levels.  
  303.  
  304.           Goal 2: Fast read-access for ›3mspecial ›0mFiles 
  305.  
  306.           To obtain minimum access time for small  or  often  accessed
  307.           files,  the data blocks of these files are placed immediatly
  308.           after the corresponding header blocks.  These ›3mspecial  ›0mfiles
  309.           include  all files which contain only one or two data blocks
  310.           or     whose     names      are      'System-Configuration',
  311.           'Startup-Sequence', 'MountList' or 'Shell-Startup' or end in
  312.           '.info'.    This   has  a  negative  influence  on  Goal  1,
  313.           especially with directories containing  many  special  files
  314.           (by increasing the number of tracks to be read), but is more
  315.           efficient (regarding the advantages).  
  316.  
  317.           Goal 3: Minimimum track boundary crossing 
  318.  
  319.           The  remaining  sectors  on  the destination disk are filled
  320.           with the data-sectors of the non-special  files.    This  is
  321.           done  in  such a way, that each file will cross as few track
  322.           boundaries as possible, so that the  number  of  track-seeks
  323.           and  (for  track-oriented  devices such as trackdisk.device)
  324.           the number of complete tracks to be read is minimized.  
  325.  
  326.  
  327.  
  328.  
  329.      Torsten Stolpmann                -5-                       Version 1.9
  330.  
  331.  
  332.      FastDisk(1)           AMIGA Programmer's Manual            FastDisk(1)
  333.  
  334.  
  335.      ›1mBUGS›0m/›1mLIMITATIONS 
  336.  
  337.           ›0m- ›4mSoftlinks›0m are not  supported,  since  Kickstart  2.0  does
  338.           currently not  support  them (V37.166).  ›1mFastDisk ›0mis able to
  339.           detect and suppress Softlinks (they will not be  present  on
  340.           the destination disk).  
  341.  
  342.           -  The  ›4mMountList›0m  entries  ›4mBootBlocks›0m,  and  ›4mInterleave›0m are
  343.           ignored in this release.  
  344.  
  345.           - ›1mFastDisk ›0mshould detach itself  if  the  ›1mWINDOW  ›0moption  is
  346.           provided.  
  347.  
  348.  
  349.      ›1mLEGAL STUFF ›0m/ ›1mDISTRIBUTION 
  350.  
  351.           FastDisk ›0mVersion 1.9 is Copyright 1991 by Torsten Stolpmann,
  352.           all rights reserved.  
  353.  
  354.           The  author  takes  absolutely  no  responsibility  for  the
  355.           functionality or the possible damage done by this  software.
  356.           Use this at your own risk.  
  357.  
  358.           ›1mFastDisk   ›0mVersion   1.9   is   freely   distributable   for
  359.           non-commercial purposes.  
  360.  
  361.           The author hereby grants Fred Fish the right to include this
  362.           software in his library of freely distributable software.  
  363.  
  364.           Lots of time and sweat were spent to make this an efficient,
  365.           reliable and hopefully useful tool.  
  366.           If you like ›1mFastDisk ›0mand you can spare some money,  I  won't
  367.           object if you send some.  
  368.  
  369.           Send  flames,  suggestions, bug reports and lots of money to
  370.           the following adress: 
  371.  
  372.                Torsten Stolpmann 
  373.                Wilhelm-Raabe-Str. 26 / App. 911 
  374.                W 6750 Kaiserslautern 
  375.                Germany 
  376.  
  377.                Phone: 0631/22781 
  378.  
  379.                You may also send email to: stolp@informatik.uni-kl.de 
  380.  
  381.                The adress above is valid upto November 1991.  
  382.                The new adress will then be: 
  383.  
  384.                Industriestr. 7 
  385.  
  386.                W 6750 Kaiserslautern 
  387.  
  388.                (No new phone-number yet) 
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.      Torsten Stolpmann                -6-                       Version 1.9
  396.  
  397.  
  398.      FastDisk(1)           AMIGA Programmer's Manual            FastDisk(1)
  399.  
  400.  
  401.  
  402.  
  403.      ›1mACKNOWLEDGEMENTS 
  404.  
  405.           ›0mThis document was created with ›1mnroff 1›0m.›1m5 ›0m-  ported  by  Olaf
  406.           Seibert (KosmoSoft).  
  407.  
  408.           Window,  Requesters  and  Gadgets were created with ›1mGadgetEd
  409.           2›0m.›1m3 ›0mby Jan van den Baard (Jaba Developments).  
  410.  
  411.           ›1mFixDisk 1›0m.›1m2 ›0mby Werner Günther was an  often  used  tool  for
  412.           Disk-Validation during development.  
  413.  
  414.           Jörg  Mayer hacked up the fmsdisk.device to emulate disks of
  415.           any size.  This way it was possible to test ›1mFastDisk ›0mon  330
  416.           MB Partions with a 30 MB Harddisk.  
  417.  
  418.           Additional  thanks  for  suggestions,  beta  testing, manual
  419.           proofreading and bug reports to: 
  420.  
  421.           Jörg Mayer, Bernd  Reh,  Deon  Ramsey,  Volker  Rudolph  and
  422.           Oliver  Wagner  and  all the others who have sent letters or
  423.           email ...  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.      Torsten Stolpmann                -7-                       Version 1.9
  462.  
  463.  
  464.      FastDisk(1)           AMIGA Programmer's Manual            FastDisk(1)
  465.  
  466.  
  467.      ›1mHISTORY 
  468.  
  469.        ›0mVersion 1.5: 
  470.  
  471.           First public release (1987).  
  472.  
  473.        Version 1.8: 
  474.  
  475.           Second public release (1989) (minor rewrite).  
  476.  
  477.           Known Bugs removed: 
  478.  
  479.           1.5 can't process files with length 0.  
  480.           Performance loss if out of memory.  
  481.  
  482.           New Features: 
  483.  
  484.           Fast memory support (1.5 used only chipmem).  
  485.           Supports  all  kinds  of   devices   (1.5   only   supported
  486.           trackdisk.device).  
  487.           Manx-Style environment support.  
  488.  
  489.        Version 1.9: 
  490.  
  491.           Third public release (July 1991) (complete rewrite).  
  492.  
  493.           Known Bugs removed: 
  494.  
  495.           No bugs reported.  
  496.  
  497.           New Features: 
  498.  
  499.           Fast-FileSystem support.  
  500.           Intuition interface.  
  501.           Low-Mem library support.  
  502.           New asynchronous I/O routines.  
  503.           Algorithm  for  minimized  track  boundary  crossing of file
  504.           data-blocks.  
  505.           New memory managment.  
  506.           Removed necessity to hold Header-Blocks in memory.  
  507.           Support for different blocksizes.  
  508.           Verify mode added.  
  509.           Lots more...  
  510.  
  511.           There exists also a program called ›3mFastDisk  II  ›0mwritten  by
  512.           Oliver Wagner  (published  on Fish Disk).  This is mainly an
  513.           'enhancement' of Version 1.5  with  an  Intuition-Interface.
  514.           This  program  is  completely  useless  due to a serious bug
  515.           created by the global optimizer.  Don't blame  me  for  that
  516.           version,  it  was  released before I could test or authorize
  517.           it.  Due to this incident there will be no more  source-code
  518.           releases of ›1mFastDisk›0m. 
  519.  
  520.           See ya in version 2.0 ...  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.      Torsten Stolpmann                -8-                       Version 1.9
  528.  
  529.